#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "biblioteca.h"

int lexico(){
	
    
    /**
     * Condição de parada do while:
     * 
     * indice atual do buffer == sentinela (sentinela marca a posição do último caracter do buffer
     * fim_do_arquivo = 1, que indice que chegou no final do arquivo.
     * 
     * So sai do while se chegar no final do arquivo e no final do buffer (lembrando que o final do buffer não é a posição 49,
     * mas sim a posição do ultimo caracter lido. Por exemplo, se tem 80 caracteres, a posição do ultimo caracter lido do arquivo será
     * 29.
     */
    /*
    while ((buffer.ind_buffer < buffer.sentinela) || buffer.fim_arquivo == 0){
        
        
        if (buffer.ind_buffer > 49){            
			encherBuffer();
        }
        
    
        c = buffer.buff[buffer.ind_buffer];
        buffer.ind_buffer++;
        
        if(c == EOF) break;
        //se for letra ou começa com _, então é uma variável ou palavra reservada
        if ((c >= 'A' && c<='Z') || (c >= 'a' && c<='z') || c == '_'){
			//Chamar a rotina que identifica variaveis/palavras reservadas
            buffer.ind_buffer--;
            variavel();
        }
        else if ((c >='0' && c <= '9') || c == '.'){
            buffer.ind_buffer--;
            AFDNumeros();
            //Chamar a rotina que identifica numeros
        }
        else if (c == '\''){
            literais();
        }
        else if ((c == '+') || (c == '-') || (c == '*') || (c == '=') || (c == '<') || (c == '>') || (c == ':') || (c == '/')){
            //Chamar o automato que identifica operadores e comparadores e atribuicao
            buffer.ind_buffer--;
            AFDOperadores();
        }
    }
    
    fclose(entrada);fclose(saida);
    */
    printf("Processo finalizado com sucesso. Consulte o arquivo saida.txt");
	return 0; 
}


